#ifndef AxisAlignedDomain_hpp
#define AxisAlignedDomain_hpp

#include "linalg/Vector.hpp"
#include "domains/IAxisAlignedDomain.hpp"

struct AxisAlignedDomain : public IAxisAlignedDomain {
	public:
		AxisAlignedDomain(double _xmin, double _xmax, double _ymin, double _ymax);
		~AxisAlignedDomain();
		//
		virtual bool contains(Vector &p);
		virtual void setBounds(double _xmin, double _xmax, double _ymin, double _ymax);
		virtual double get_axis1_min();
		virtual double get_axis1_max();
		virtual double get_axis2_min();
		virtual double get_axis2_max();
	protected:
		double xmin,ymin,xmax,ymax;
};

#endif
